package com.prince.mapper.x;

import com.prince.entity.InventoryVo;
import com.prince.model.Inventory;
import com.prince.page.Page;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

public interface InventoryMapperX {
    /**
     * 功能描述: 分页查询库存
     * @Author: 王培喜 58528792@163.com
     * @Date: 2021/4/7 16:43
     */
    List<InventoryVo> selectByConditions(Map<String, Object> params);
    /**
     * 功能描述: 分页查询库存统计
     * @Author: 王培喜 58528792@163.com
     * @Date: 2021/4/7 16:43
     */
    int countByConditions(Map<String, Object> params);
    /**
     * 功能描述: 更新库存数量
     * @Author: 王培喜 58528792@163.com
     * @Date: 2021/4/7 17:11
     */
    int updateInventoryNumber(@Param("number") BigDecimal number, @Param("md5key")String md5key, @Param("id")Integer id, @Param("oldKey")String oldKey, @Param("name") String name);
    /**
     * 功能描述: 通过商品id查询库存
     * @Author: 王培喜 58528792@163.com
     * @Date: 2021/4/7 17:11
     */
    Inventory selectByProductId(@Param("productId") Integer productId);
    /**
     * 功能描述: 分页查询采购记录
     * @Author: 王培喜 58528792@163.com
     * @Date: 2021/4/7 16:43
     */
    List<InventoryVo> selectProcurementByConditions(Map<String, Object> params);
    /**
     * 功能描述: 分页查询采购记录统计
     * @Author: 王培喜 58528792@163.com
     * @Date: 2021/4/7 16:43
     */
    int countProcurementByConditions(Map<String, Object> params);
    /**
     * 功能描述: 通过拼音码查询商品
     * @Author: 王培喜 58528792@163.com
     * @Date: 2021/4/6 16:02
     */
    List<Map<String, Object>> selectByProductPinyin(@Param("pinyin") String pinyin);

    /**
     * 功能描述：订单金额汇总
     * @param params
     * @return
     */
    Map<String, Object> sumOrderMoney(Map<String, Object> params);
}
